import { AnyColumn } from "element-plus/es/components/table-v2/src/common";

export interface ModelList {
  pageNo: number;
  pageSize: number;
  name?: string;
  linkId?: string;
  // creatorIdType: string;
  // advertiserId: string;
  // maAppid: string;
  // searchKey: string;
  [key: string]: any;
}

interface itemObj {
  name: string;
  items: Record<string, any>;
}
export interface ModelAdd {
  id?: number | undefined;
  linkName: string;
  operaId: number | string;
  episode: number | string;
  platform: string;
  previewSeconds?: number | undefined;
  [key: string]: any;
}

export interface ModelSetTem {
  id: number;
  templateId: number;
}

export interface ModelOptins {
  text: string;
  value: number | string;
}

export interface ModelUpdateAds {
  id?: number | undefined;
  useDefault?: boolean;
  platform: string;
  activeEventOption: number | string;
  rechargeEventEnabled: boolean;
  periodType: number;
  periodLimit: number;
  rechargeLimitTimes: number;
  rechargeMinAmount: number | undefined;
  rechargeAmountDiscount: number;
  scaleType: number;
  proportionFeedbackPercent: number | undefined;
  intervalMakeTimes: number;
  intervalFeedbackTimes: number;
  intervalSkipTimes: number;
  previewSeconds?: number | undefined;
  [key: string]: any;
}

export interface ModelPayment {
  id: number;
  unblockCoinAmount: number | undefined;
  chargeEpisodeNo: number | undefined;
  isDiffRecharge: boolean;
  firstPayTpl?: {
    items: Array<ModelPaysetting>;
  };
  payTpl?: {
    items: Array<ModelPaysetting>;
  };
  [key: string]: any;
}

interface ModelPaysetting {
  id?: number | undefined;
  total: number;
  itemClass: number;
  itemData: number;
  item1Class: number;
  item1Data: number;
  theme: string;
  guidance: string;
  primaryBadage: string;
  secondaryBadge: string;
  bgImage: string;
  effect: string;
  isSelected: boolean;
  description: string;
}

interface listImport {
  platform: string;
  linkName: string;
  operaName: string;
  episode: number | undefined;
  payTemplateName: string;
  unblockCoinAmount: number | undefined;
  chargeEpisodeNo: number | undefined;
  firstPayTemplateName: string;
}
export interface modelImport {
  promotions: Array<listImport>;
}
